/*
 * Copyright [2022] [https://www.xiaonuo.vip]
 *
 * Snowy采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：
 *
 * 1.请不要删除和修改根目录下的LICENSE文件。
 * 2.请不要删除和修改Snowy源码头部的版权声明。
 * 3.本项目代码可免费商业使用，商业使用请保留源码和相关描述文件的项目出处，作者声明等。
 * 4.分发源码时候，请注明软件出处 https://www.xiaonuo.vip
 * 5.不可二次分发开源参与同类竞品，如有想法可联系团队xiaonuobase@qq.com商议合作。
 * 6.若您的项目无法满足以上几点，需要更多功能代码，获取Snowy商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip
 */
package vip.xiaonuo.biz.modular.exam.param;

import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import org.noear.solon.validation.annotation.NotBlank;
import org.noear.solon.validation.annotation.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 考试添加参数
 *
 * @author lrw
 * @date  2025/10/04 08:29
 **/
@Getter
@Setter
public class ExmExamAddParam {

    /** 名称 */
    @ApiModelProperty(value = "名称", position = 2)
    private String name;

    /** 试卷名称 */
    @ApiModelProperty(value = "试卷名称", position = 3)
    private String paperName;

    /** 组卷方式（1：人工组卷；2：随机组卷）数据字典：PAPER_GEN_TYPE */
    @ApiModelProperty(value = "组卷方式（1：人工组卷；2：随机组卷）数据字典：PAPER_GEN_TYPE", position = 4)
    private Integer genType;

    /** 阅卷方式（1：客观题；2：主观题；）数据字典：PAPER_MARK_TYPE */
    @ApiModelProperty(value = "阅卷方式（1：客观题；2：主观题；）数据字典：PAPER_MARK_TYPE", position = 5)
    private Integer markType;

    /** 展示方式（1：整卷展示；3：单题展示；）数据字典：PAPER_SHOW_TYPE */
    @ApiModelProperty(value = "展示方式（1：整卷展示；3：单题展示；）数据字典：PAPER_SHOW_TYPE", position = 6)
    private Integer showType;

    /** 登录方式（1：正常登录；2：免登录；）数据字典：LOGIN_TYPE */
    @ApiModelProperty(value = "登录方式（1：正常登录；2：免登录；）数据字典：LOGIN_TYPE", position = 7)
    private Integer loginType;

    /** 考试开始时间 */
    @ApiModelProperty(value = "考试开始时间", position = 8)
    private Date startTime;

    /** 考试结束时间 */
    @ApiModelProperty(value = "考试结束时间", position = 9)
    private Date endTime;

    /** 限制分钟（考试开始时间由用户第一次打开试卷时计时） */
    @ApiModelProperty(value = "限制分钟（考试开始时间由用户第一次打开试卷时计时）", position = 10)
    private Integer limitMinute;

    /** 阅卷开始时间 */
    @ApiModelProperty(value = "阅卷开始时间", position = 11)
    private Date markStartTime;

    /** 阅卷结束时间 */
    @ApiModelProperty(value = "阅卷结束时间", position = 12)
    private Date markEndTime;

    /** 阅卷状态（1：未阅卷；2：阅卷中；3：已阅卷；） */
    @ApiModelProperty(value = "阅卷状态（1：未阅卷；2：阅卷中；3：已阅卷；）", position = 13)
    private Integer markState;

    /** 成绩查询状态（1：考试结束后；2：不公布；3：交卷后） */
    @ApiModelProperty(value = "成绩查询状态（1：考试结束后；2：不公布；3：交卷后）", position = 14)
    private Integer scoreState;

    /** 排名状态（1：公布；2：不公布） */
    @ApiModelProperty(value = "排名状态（1：公布；2：不公布）", position = 15)
    private Integer rankState;

    /** 匿名阅卷状态（1：是；2：否） */
    @ApiModelProperty(value = "匿名阅卷状态（1：是；2：否）", position = 16)
    private Integer anonState;

    /** 及格分数 */
    @ApiModelProperty(value = "及格分数", position = 17)
    private BigDecimal passScore;

    /** 总分数 */
    @ApiModelProperty(value = "总分数", position = 18)
    private BigDecimal totalScore;

    /** 防作弊（1：试题乱序；2：选项乱序；3：禁止考试中切屏；4：禁止浏览器调试） */
    @ApiModelProperty(value = "防作弊（1：试题乱序；2：选项乱序；3：禁止考试中切屏；4：禁止浏览器调试）", position = 19)
    private String sxes;

    /** 用户IDS */
    @ApiModelProperty(value = "用户IDS", position = 20)
    private String userIds;

    /** 机构IDS */
    @ApiModelProperty(value = "机构IDS", position = 21)
    private String orgIds;

    /** 阅卷用户IDS */
    @ApiModelProperty(value = "阅卷用户IDS", position = 22)
    private String markUserIds;

    /** 重考次数 */
    @ApiModelProperty(value = "重考次数", position = 23)
    private Integer retakeNum;

    /** 状态（0：删除；1：发布；2：暂停；） */
    @ApiModelProperty(value = "状态（0：删除；1：发布；2：暂停；）", position = 24)
    private Integer status;

}
